package org.example.service;

import java.util.Map;

/**
 * 认证服务接口
 */
public interface AuthService {
    
    /**
     * 平台端登录
     * @param phone 手机号
     * @param verificationCode 验证码
     * @return 登录结果（包含token、用户信息、权限等）
     */
    Map<String, Object> platformLogin(String phone, String verificationCode);
    
    /**
     * 企业端登录
     * @param phone 手机号
     * @param verificationCode 验证码
     * @param companyId 租户ID（可选，用于多租户场景）
     * @return 登录结果
     */
    Map<String, Object> enterpriseLogin(String phone, String verificationCode, String companyId);
    
    /**
     * 用户端登录
     * @param phone 手机号
     * @param verificationCode 验证码
     * @param companyId 租户ID（可选，用于多租户场景）
     * @return 登录结果
     */
    Map<String, Object> userLogin(String phone, String verificationCode, String companyId);
    
    /**
     * 验证Token
     * @param token JWT Token
     * @return 用户信息
     */
    Map<String, Object> verifyToken(String token);
    
    /**
     * 退出登录
     * @param token JWT Token
     */
    void logout(String token);
    
    /**
     * 切换租户
     * @param token JWT Token
     * @param tenantId 租户ID
     * @return 新的登录信息
     */
    Map<String, Object> switchTenant(String token, Long tenantId);
}



